Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
o5t6x7pgljbm
/
public_html
/
admin
/
app
/
V2
/
Services
/
Filename :
GroupService.php
back
Copy
<?php namespace App\V2\Services; use App\Models\Group; use App\Models\GroupMember; use App\Models\Role; use App\Models\User; use App\Services\EmailService; use App\V2\Repositories\GoalRepository; use App\V2\Repositories\GroupRepository; class GroupService extends BaseService { private $groupRepository; public function __construct(){ $this->groupRepository = new GroupRepository(); } public function getAllParents(Group $group){ $parents = $group->parents(); if($parents == null || count($parents) == 0){ return $group->owner; } $parents[] = $group->owner; return $parents; } public function inviteUser(Group $group, User $user, Role $role){ $owner = $group->owner; $group_member = GroupMember::create([ 'group_id' => $group->group_id, 'member_user_id' => $user != null ? $user->user_id : null, 'role_id' => $role->id, 'email' => $user->email, 'username' => $user->username, 'invitation_accepted' => null, 'is_active' => true ]); if($user->email != null){ $toEmail = $user->email; $toName = $user->email; $subject = 'Group Invitation - '. config('constants.app.project-title'); $emailContent = view('EmailTemplates.group_invitation_email_template', ['user_name' => $toName, 'group_name' => $group->group_name, 'inviter_name' => $owner->full_name, 'role_name' => $role->display_name])->render(); $emailService = new EmailService(); $emailResponse = $emailService->sendEmail( $toEmail, $toName, $subject, $emailContent ); if(!$emailResponse['success']){ Log::error("failure in sending email: ". $emailResponse['message']); } else { Log::debug("email sent successfully: ". $emailResponse['message']); } } } } ?>